// 导入数据库操作模块
const db = require('../db/index')
// 导入 bcryptjs 这个包
const bcrypt = require('bcryptjs')
// 导入生成 Token 的包
const jwt = require('jsonwebtoken')
// 导入全局的配置文件
const config = require('../config')
var personTatol

// 获取用户列表 总数
(function getPersonTotal(){
  // 定义 SQL 语句
  const sql = 'select * from wm_user'
  // 执行 SQL 语句，根据用户名查询用户的信息
  db.query(sql, (err, results) => {
      personTatol = results.length
  })
}());

// 获取用户列表
exports.fetchPersonList = (req, res) => {
  console.log(req.body)
  let pageSize = req.body.pageSize
  let pageNumber = (req.body.pageNumber-1)*10
  let username = req.body.username+'%'

  // 定义 SQL 语句
  const sql = 'select * from wm_user where user_name LIKE ? order by user_id desc limit ?,? '
  // 执行 SQL 语句，根据用户名查询用户的信息
  db.query(sql, [username,pageNumber, pageSize], (err, results) => {
    console.log(err)  
    // 执行 SQL 语句失败
    if (err) return res.cc(err)
    // 执行 SQL 语句成功，但是获取到的数据条数不等于 1
    console.log(personTatol)
    let personList = JSON.parse(JSON.stringify(results))
    if (results.length < 0) return res.cc('查询失败！')

    res.json({
      code:20000,
      status: 200,
      message: '查询成功！',
      object:{
        data:personList,
        total:personTatol
      }
    })
  })
}

// 新增用户
exports.createPerson = (req, res) => {
  console.log(req.body)
  let personName = req.body.username
  let personPassword = req.body.password
  let personTelePhone = req.body.telephone
  // let personPicture = req.body.userPicture
  let isAdmin = '0'
  let isShoper = req.body.isShoper
  let sessionId = ''
  // 定义 SQL 语句
  const sql = 'INSERT INTO wm_user VALUES (NULL,?,?,?,"01",?,?,?,NULL)'
  // 执行 SQL 语句，根据用户名查询用户的信息
  db.query(sql, [personName, personPassword, personTelePhone, isAdmin, isShoper, sessionId], (err, results) => {
    console.log(err)
    // 执行 SQL 语句失败
    if (err) return res.cc(err)
    // 执行 SQL 语句成功，但是获取到的数据条数不等于 1
    console.log(results)
    if (results < 1) return res.cc('操作失败！')

    res.json({
      code:20000,
      status: 200,
      message: '操作成功！',
      object:{
        data:results
      }
    })
  })
}

// 删除商户
exports.deletePerson = (req, res) => {
  console.log(req.body)
  let personId = parseInt(req.body.userId) 
  // 定义 SQL 语句
  const sql = 'DELETE FROM wm_user WHERE user_id = ?'
  // 执行 SQL 语句，根据用户名查询用户的信息
  db.query(sql, [personId], (err, results) => {
    console.log(err)
    // 执行 SQL 语句失败
    if (err) return res.cc(err)
    // 执行 SQL 语句成功，但是获取到的数据条数不等于 1
    if (results < 1) return res.cc('操作失败！')
    res.json({
      code:20000,
      status: 200,
      message: '操作成功！',
      object:{
      }
    })
  })
}

// 修改商户
exports.updatePerson = (req, res) => {
  console.log(req.body)
  let personName = req.body.userName
  let personPassword = req.body.userPassword
  let personTelePhone = req.body.userTelePhone
  let personPicture = req.body.userPicture
  let isShoper = req.body.isShoper
  let userId = req.body.userId
  // 定义 SQL 语句
  const sql = 'UPDATE wm_user SET user_name=?, user_password=?, user_telephone=?, user_picture=?, is_shoper=? WHERE user_id = ?'
  // 执行 SQL 语句，根据用户名查询用户的信息
  db.query(sql, [personName,personPassword,personTelePhone,personPicture,isShoper,userId], (err, results) => {
    console.log(err)
    // 执行 SQL 语句失败
    if (err) return res.cc(err)
    // 执行 SQL 语句成功，但是获取到的数据条数不等于 1
    if (results < 1) return res.cc('操作失败！')
    res.json({
      code:20000,
      status: 200,
      message: '操作成功！',
      object:{
      }
    })
  })
}
